WarLordConsole ALPHA Release 21/08/2006
 by Labmaster
 
This is a command line utility for dumping and inserting maps from 
Nintendo/Intelligent System's Gameboy Advance game "Advance Wars 2:
Black Hole Rising". 

=========================
1. Usage Information
=========================

Pre-requisites
--------------

This program has been written in C Sharp and requires the .NET
Framework 2.0. If you don't have it, you'll need to get it 
from http://msdn.microsoft.com/netframework/ A lot more programs 
will be using this in the future, so it wouldn't be a bad idea to 
get it now if you haven't got it already.

Using it
--------

This program is designed to be used from the command line (or 
'command prompt'. If you aren't familiar with working at the command
line, look it up on google.

Usage: WarLordConsole [options] <rom> <xmlfile>
Either -d or -i must be specified. Use --help for detailed information.
Options:
  -? --help            Show this help list
  -d --dump            Set mode to dump.
  -i --insert          Set mode to insert.
  -s --simulation      Run as a simulation - no files created or modified
  -u --uncompressed    Write 'uncompressed' map data
  -v --verbose         Enable verbose console logging
  -V --version         Display version and licensing information
     --header:PARAM    Dump the header at address specified by PARAM
     --map:PARAM       Dump the header and associated data at address specified
                       by PARAM
     --ref:PARAM       Reference file for use when dumping
     --tilemap:PARAM   Dump the tile map at address specified by PARAM
     --unitlist:PARAM  Dump the unit list at address specified by PARAM
     --usage           Show usage syntax and exit

The options are pretty self-explanatory. You MUST have either -d or -i as
one of your options so that the program knows what it's supposed to do.

Note that short options can be combined unix style, i.e.

WarLordConsole.exe -d -u -v --map:085ca94c aw2.gba cleanup.xml

is equivalent to 

WarLordConsole.exe -duv --map:085ca94c aw2.gba cleanup.xml


Dumping parameters
------------------

These options are used when dumping information. They can either
be in the form '--header:PARAMETER', '--header PARAMETER' or
'--header=PARAMETER'. You can specify as many or as few of these as
you want to.

--header:PARAM   The program will dump the header located at PARAM
--map:PARAM      The program will dump the header located at PARAM, as well
                 as the tileMap and unitLists referenced in the header
--ref:PARAM      The program will use the XML specified as PARAM as
                 a reference when dumping data (i.e. aliases and unit
                 templates in the reference file will be used if
                 possible).
--tileMap:PARAM  Dump the tile map located at the address specified.
--unitList:PARAM Dump the unit list located at the address specified.

Note that ROM addresses can be in the form 08XXXXXX or have the '08'
omitted.

Examples
--------

Dump map "Cleanup" (header + tile map + unit list) from aw2.gba to cleanup.xml 
using reference.xml:

WarLordConsole -d --map=5CA94C --ref=reference.xml aw2.gba cleanup.xml

Same as above, but with the header (only) of border skirmish as well:

WarLordConsole -d --map=5CA94C --header=085ca9a8 --ref=reference.xml aw2.gba cleanup.xml

Insert the data from cleanup.xml into aw2.gba:

WarLordConsole -i aw2.gba cleanup.xml

=====================
2. XML File Format
=====================

Maps are stored in a custom XML format, as specified by the schema
awmap.xsd, located in this directory. 

<Obviously not finished>

=================
Acknowledgements
=================

This program owes a lot to the people at the Wars World News Forum - 
without them and the information they've collected, it probably would 
have taken a heck of a lot longer to make.